Lệch bộ nhớ đệm (cache miss) CPU cache

Là lúc CPU không tìm thấy dữ liệu cần thiết trong bộ nhớ Cache mà phải lấy trực tiếp từ bộ nhớ RAM. Có ba loại lệch bộ nhớ đệm: instruction read miss, data read miss, and data write miss.

Instruction read miss thông thường sẽ làm cho tiến trình bị trì trệ nhất do bộ vi xử lý sẽ phải chờ cho đến khi chỉ dẫn (instruction) được lấy trực tiếp từ RAM. Data (dữ liệu) miss cache thông thường không gây trì trệ lâu như instruction miss cache do những chỉ dẫn (instruction) không phục thuộc vào những dữ liệu bị lệch khi đọc từ bộ nhớ đệm có thể tiếp tục vận hành. Cho đến khi những dữ liệu cần thiết được lấy về từ RAM, những chỉ dẫn phụ thuộc vào các dữ liệu đó có thể trở lại vận hành. Data write miss gây ra trì trệ ngắn nhất do quá trình ghi dữ liệu có thể xếp vài một queue và có rất ít hạn chế cho việc chạy những chỉ dẫn đến sau. Vi xử lý có thể tiếp tục cho đến queue đầy.

Để có thể giảm tỷ lệ khi lệch bộ nhớ đệm xãy ra, đã có nhiều phân tích được đưa ra để tìm được sự đồng nhất về kích cỡ của bộ nhớ đệm, tính chất kết hợp, kích cỡ khối dữ liệu,... Chuỗi những tham chiếu bộ nhớ được thực hiện bởi các chương trình tiêu chuẩn được gọi là address traces.

Những phân tích sau đây dựa trên nhiều kiểu bộ nhớ đệm khác nhau được thiết kế dựa trên những address traces dài này. Giải thích cho việc nhiều biến khác nhau có thể ảnh hưởng đến tỉ lệ trúng bộ nhớ đệm (cache hit) có thể trở nên khó hiểu. Một trong những đóng góp đáng chú ý đến những phân tích này là của Mark Hill, người chia những trường hợp lệch này thành 3 hạng mục.

Compulsory misses (lệch cưỡng chế)

Gây ra do đề cập đến một vùng trong bộ nhớ mà một chương trình chưa bao giờ yêu cầu đến trước đây. Kích cỡ của bộ nhớ đêm và tính chất kết hợp không làm thay đổi đến số lần lệch cưỡng chế xảy ra. Tìm nạp trước (prefetching) có thể có ích ở đây, cũng như những khối bộ nhớ đệm có kích thước lớn hơn. Đôi khi, lệch cưỡng chế được đề cập là cold misses.

Capacity misses (lệch dung lượng)

Là những trường hợp lệch bất kể tính chất kết hợp và kích cỡ khối. Xảy ra duy nhất do kích cỡ hạn chế của bộ nhớ đệm. Lưu ý rằng, không hề có quan điểm nào về bộ nhớ đệm trở nên "đầy", "trống" hay "gần đạt dung lượng". Bộ nhớ đệm CPU hầu như đầu có tất cả các hàng chứa những bản sao của một số hàng trong RAM, và hầu như mọi sự cấp phát cho một hàng mới đòi hỏi sự đẩy ra (eviction) của một hàng cũ.